#include <iostream>

/**
 * C++ 指向类的指针
 *
 * 一个指向C++类的指针与指向结构的指针类似，访问指向类的指针的成员，需要使用成员访问运算符
 * ->,就像访问指针结构的指针一样，与所有的指针一样，您必须在使用指针之前，对指针进行优化。
 * 在C++中，指向类的指针指向一个类的对象，与普通的指针相似，指向类的指针可以用于访问对象的成员变量和成员函数。
 */

class MyClass{
public:
    int data;
    void display(){
        std::cout << "Data: " << data << std::endl;
    }
};

int main() {
    /**
     * 声明和初始化指向类的指针
     */


    //创建类对象
    MyClass obj;
    obj.data = 2;

    //声明和初始化指向类的指针
    MyClass *ptr = &obj;

    //通过指针访问成员变量
    std::cout << "Data vi pointer : " << ptr->data << std::endl;

    //通过指针调用成员函数
    ptr->display();

    return 0;
}
